`:top
`!Redux`! is an `F33f`_`[open-source`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Open-source_software]`_`f `F33f`_`[JavaScript library`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaScript_library]`_`f for managing and centralizing application `F33f`_`[state`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=State_(computer_science)]`_`f. It is most commonly used with libraries such as `F33f`_`[React`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=React_(web_framework)]`_`f or `F33f`_`[Angular`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Angular_(web_framework)]`_`f for building `F33f`_`[user interfaces`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=User_interface]`_`f. Similar to (and inspired by) Facebook's `F33f`_`[Flux architecture`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=React_(JavaScript_library)]`_`f, it was created by Dan Abramov and Andrew Clark. Since mid-2016, the primary maintainers are Mark Erikson and Tim Dorr.
>>Contents
• `F0af`_`[Description`#description]`_`f
• `F0af`_`[History`#history]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[References`#references]`_`f
• `F0af`_`[External links`#external-links]`_`f
-─
>>Description
Redux is a small library with a simple, limited API designed to be a predictable container for application state. It operates in a fashion similar to a `F33f`_`[reducing function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Fold_(higher-order_function)]`_`f, a `F33f`_`[functional programming`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Functional_programming]`_`f concept.
>>History
Redux was created by Dan Abramov and Andrew Clark in 2015.`:cite-ref-abramov-3-0[`F5bf`_`[3`#cite-note-abramov-3]`_`f] Abramov began writing the first Redux implementation while preparing for a conference talk`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f] at React Europe`:cite-ref-5[`F5bf`_`[5`#cite-note-5]`_`f] on hot reloading. Abramov remarks, "I was trying to make a proof of concept of Flux where I could change the logic. And it would let me time travel. And it would let me reapply the future actions on the code change."`:cite-ref-6[`F5bf`_`[6`#cite-note-6]`_`f]
Abramov was struck by the similarity of the Flux pattern with a reducing function. "I was thinking about Flux as a reduce operation over time... your stores, they accumulate state in response to these actions. I was thinking of taking this further. What if your Flux store was not a store but a reducer function?"`:cite-ref-abramov-3-1[`F5bf`_`[3`#cite-note-abramov-3]`_`f]
Abramov reached out to Andrew Clark (author of the Flux implementation Flummox) as a collaborator. Among other things, he credits Clark with making the Redux ecosystem of tools possible, helping to come up with a coherent `F33f`_`[API`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Application_programming_interface]`_`f, implementing extension points such as `F33f`_`[middleware`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Middleware]`_`f and store enhancers.`:cite-ref-abramov-3-2[`F5bf`_`[3`#cite-note-abramov-3]`_`f]
By mid 2016, Abramov had joined the React team and passed the primary maintainership on to Mark Erikson and Tim Dorr.`:cite-ref-7[`F5bf`_`[7`#cite-note-7]`_`f]
In February 2019, `B100`F9d9useReducer`f`b was introduced as a `F33f`_`[React hook`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=React_(software)]`_`f in the 16.8 release. It provides an API that is consistent with Redux, enabling developers to create Redux-like stores that are local to component states.`:cite-ref-8[`F5bf`_`[8`#cite-note-8]`_`f]
In October 2019, Redux Toolkit was introduced to simplify writing Redux logic by providing a set of utilities (such as `B100`F9d9configureStore`f`b and `B100`F9d9createSlice`f`b) that wrap and extend the standard Redux API.`:cite-ref-9[`F5bf`_`[9`#cite-note-9]`_`f]
>>See also
• `F33f`_`[Unidirectional data flow`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Unidirectional_data_flow]`_`f
• `F33f`_`[Single source of truth`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Single_source_of_truth]`_`f
>>References
`:cite-note-githubreleasetag-1`!1.`! Initial release tag
`:cite-note-ghrelease-2`!2.`! "Releases – ReactJS/Redux". `*`F33f`_`[GitHub`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=GitHub]`_`f`*.
`:cite-note-abramov-3`!3.`! `F0af`_`[↑`#cite-ref-abramov-3-0]`_`f `:citerefabramov`aAbramov, Dan. "The History of React and Flux with Dan Abramov". `*Three Devs and a Maybe`*. Retrieved 7 April 2018.
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f "Dan Abramov - Live React: Hot Reloading with Time Travel at react-europe 2015". `*Youtube`*.
`:cite-note-5`!5.`! `F0af`_`[↑`#cite-ref-5]`_`f "ReactEurope 2015 - Live React: Hot Reloading with Time Travel". `*ReactEurope`*.
`:cite-note-6`!6.`! `F0af`_`[↑`#cite-ref-6]`_`f `:citerefabramov`aAbramov, Dan. "Progression, Curiosity, and Burnout with Dan Abramov". `*TylerMcGinnis.com`*. Retrieved 7 April 2018.
`:cite-note-7`!7.`! `F0af`_`[↑`#cite-ref-7]`_`f Idiomatic Redux: The History and Implementation of React-Redux
`:cite-note-8`!8.`! `F0af`_`[↑`#cite-ref-8]`_`f React v16.8: The One with Hooks
`:cite-note-9`!9.`! `F0af`_`[↑`#cite-ref-9]`_`f `:citereferikson2019`aErikson, Mark (23 October 2019). "Idiomatic Redux: Redux Toolkit 1.0". `*Mark's Dev Blog`*. Retrieved 9 August 2025.
>>External links
• Official website
• redux on `F33f`_`[GitHub`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=GitHub]`_`f
`c`F0af`_`[↑ Back to top`#top]`_`f`a